package colecoes;

import interfaces.InterfaceAcabamento;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;

import basicas.Acabamento;
import basicas.Cor;
import basicas.Veiculo;
import fachada.JDBC;

public class ColAcabamento implements InterfaceAcabamento {
	
	Vector lst = new Vector();   // --> Declaracao do Vetor
	
	
	public void cadastrarAcabamento(Acabamento A) throws ClassNotFoundException, SQLException{
		String sql = "INSERT INTO acabamentointerno (DescricaoAcabamento,precoAcabamento) VALUES ('"+A.getDescricaoAcabamento()+"','"+A.getPrecoAcabamento()+"')";

		Statement conexao = JDBC.getsStatement();    //  --> estancia a conexao
		conexao.executeUpdate(sql);                  //  --> executa a string de insercao ao banco de dados
		conexao.close();                             //  --> fecha a conexao do banco de dados
	}

	public void removerAcabamento(int codigo) throws ClassNotFoundException, SQLException{
		String sql = "DELETE FROM acabamentointerno WHERE codAcabamento = "+codigo+"";
		Statement conexao = JDBC.getsStatement();
		conexao.executeUpdate(sql);
		conexao.close();
	}
	
	public Acabamento consultarAcabamento(int codigo) throws ClassNotFoundException, SQLException{
		String sql = "SELECT *FROM acabamentointerno;";
		Statement conexao = JDBC.getsStatement();
		ResultSet resultado = conexao.executeQuery(sql);
		
		while(resultado.next()){
			Acabamento acabamentoConsultado = new Acabamento();
			
			acabamentoConsultado.setCodAcacamento (resultado.getInt("codAcabamento"));
			acabamentoConsultado.setDescricaoAcabamento (resultado.getString("descricaoAcabamento"));
			acabamentoConsultado.setPrecoAcabamento(resultado.getFloat("precoAcabamento"));		
			return acabamentoConsultado;
		}
		conexao.close();
		return null;
	}
	
	public Vector listarAcabamento() throws ClassNotFoundException, SQLException{
		String sql = "SELECT *FROM acabamentointerno;";
		Statement conexao = JDBC.getsStatement();
		ResultSet resultado = conexao.executeQuery(sql);                // Declaracao de uma query do banco
		
		while(resultado.next()){                                        // Enquanto a query estiver proximo
			Acabamento acab = new Acabamento();		                        // Estancia o objeto endereco
			acab.setCodAcacamento(resultado.getInt("codAcabamento"));
			acab.setDescricaoAcabamento(resultado.getString("descricaoAcabamento"));
			acab.setPrecoAcabamento(resultado.getFloat("precoAcabamento"));
			
			lst.add(acab);                                               // Armazena o resultado da buxca no vetor
		}
		conexao.close();
		return lst;		                                                // Retorna o vetor
	}

	
}
